package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.pojo.Emphistemptype;
import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Emptype;

public abstract class BaseEmphistemptype implements Serializable {

	public BaseEmphistemptype() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseEmphistemptype(String id) {
		hashCode = 0x80000000;
		setId(id);
		initialize();
	}

	public BaseEmphistemptype(String id, Emptype ehetEmptypeNo,
			Employee ehetEmpNo, Date ehetValidFrom, Integer ehetIsLatest) {
		hashCode = 0x80000000;
		setId(id);
		setEhetEmptypeNo(ehetEmptypeNo);
		setEhetEmpNo(ehetEmpNo);
		setEhetValidFrom(ehetValidFrom);
		setEhetIsLatest(ehetIsLatest);
		initialize();
	}

	protected void initialize() {
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
		hashCode = 0x80000000;
	}

	public Date getEhetValidFrom() {
		return ehetValidFrom;
	}

	public void setEhetValidFrom(Date ehetValidFrom) {
		this.ehetValidFrom = ehetValidFrom;
	}

	public Date getEhetValidTo() {
		return ehetValidTo;
	}

	public void setEhetValidTo(Date ehetValidTo) {
		this.ehetValidTo = ehetValidTo;
	}

	public Integer getEhetIsLatest() {
		return ehetIsLatest;
	}

	public void setEhetIsLatest(Integer ehetIsLatest) {
		this.ehetIsLatest = ehetIsLatest;
	}

	public Emptype getEhetEmptypeNo() {
		return ehetEmptypeNo;
	}

	public void setEhetEmptypeNo(Emptype ehetEmptypeNo) {
		this.ehetEmptypeNo = ehetEmptypeNo;
	}

	public Employee getEhetEmpNo() {
		return ehetEmpNo;
	}

	public void setEhetEmpNo(Employee ehetEmpNo) {
		this.ehetEmpNo = ehetEmpNo;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Emphistemptype))
			return false;
		Emphistemptype emphistemptype = (Emphistemptype) obj;
		if (null == getId() || null == emphistemptype.getId())
			return false;
		else
			return getId().equals(emphistemptype.getId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "Emphistemptype";
	public static String PROP_EHET_EMP_NO = "ehetEmpNo";
	public static String PROP_EHET_EMPTYPE_NO = "ehetEmptypeNo";
	public static String PROP_EHET_VALID_TO = "ehetValidTo";
	public static String PROP_EHET_IS_LATEST = "ehetIsLatest";
	public static String PROP_ID = "id";
	public static String PROP_EHET_VALID_FROM = "ehetValidFrom";
	private int hashCode;
	private String id;
	private Date ehetValidFrom;
	private Date ehetValidTo;
	private Integer ehetIsLatest;
	private Emptype ehetEmptypeNo;
	private Employee ehetEmpNo;

}
